/**
 * Copyright (c) 2020-2022 宁波哥爱帮科技有限公司
 */
package cn.grab.fispservice.system.mapper;

import cn.grab.fispservice.system.model.SysDict;
import com.fontana.db.mapper.BaseDaoMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

/**
 * 字典表 Mapper 接口
 *
 * @author Auto
 * @since 2023-01-11
 */
public interface SysDictMapper extends BaseDaoMapper<SysDict> {

    /**
     * 批量插入对象列表。
     *
     * @param sysDictList 新增对象列表。
     */
    void insertList(List<SysDict> sysDictList);

    /**
     * 获取过滤后的对象列表。
     *
     * @param inFilterColumn 参与(In-list)过滤的数据表列。
     * @param inFilterValues 参与(In-list)过滤的数据表列值集合。
     * @param sysDictFilter  过滤对象。
     * @param orderBy        排序字符串，order by从句的参数。
     * @return 对象列表。
     */
    <M> List<SysDict> getSysDictList(
            @Param("inFilterColumn") String inFilterColumn,
            @Param("inFilterValues") Set<M> inFilterValues,
            @Param("sysDictFilter") SysDict sysDictFilter,
            @Param("orderBy") String orderBy);

}
